﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Marmat.Forms.Skin
{
    /// <summary>
    /// 将提供数据供 System.Windows.Forms.TreeView.BeforeCheck，System.Windows.Forms.TreeView.BeforeCollapse，System.Windows.Forms.TreeView.BeforeExpand，和 System.Windows.Forms.TreeView.BeforeSelect
    /// </summary>
    public class TreeViewCancelEventArgs : CancelEventArgs
    {

        /// <summary>
        /// 新实例初始化 System.Windows.Forms.TreeViewCancelEventArgs 用指定的树节点、 一个值，指定是否要取消该事件和引发事件的树视图操作的类型。
        /// </summary>
        /// <param name="node">System.Windows.Forms.TreeNode 事件响应。</param>
        /// <param name="cancel">true 若要取消事件;否则为 false。</param>
        /// <param name="action">其中一个 System.Windows.Forms.TreeViewAction 值，该值指示引发该事件的操作类型。</param>
        public TreeViewCancelEventArgs(TreeNode node, bool cancel, TreeViewAction action) : base(cancel)
        {
            this.Node = node;
            this.Action = action;
        }

        /// <summary>
        /// 获取要选中、展开、折叠或选择的树节点。
        /// </summary>
        public TreeNode Node { get; }

        /// <summary>
        /// 获取的类型 System.Windows.Forms.TreeView 引发事件的操作。
        /// </summary>
        public TreeViewAction Action { get; }
    }
}
